Google WiFiのIPv6対応状況
Google Nest Wifi と Google Wifi では、デュアルスタックの実装を使用します。 IPv6 が有効な場合、WAN ポート上で DHCPv6 プロトコルを使用し、ISP にアドレスをリクエストします。
ISP が DHCPv6 プロトコルをサポートしていてルーターのアドレスをプロビジョニングしている場合 ルーターは自身の IPv6 アドレスを取得します。
ISP がルーターのアドレスをプロビジョニングしていない場合
ルーターはステートレス アドレス自動設定(SLAAC: StateLess Address AutoConfiguration)という手順により、自身のアドレスを取得します。 また、ルーターは ISP に IPv6 の接頭辞もリクエストし、この接頭辞を使用して、LAN 上のクライアントに IPv6 ルート アドバタイズを送信します。これにより、クライアントは自身のアドレスを取得できるようになります。
IPv6 の接頭辞は、IPv4 における WAN アドレスと同じ役割を果たします。接頭辞は ISP から提供されます。ルーターとクライアントはこの接頭辞を使用してアドレスの残りの部分を割り当て、128 ビットの IPv6 アドレスが完成します。接頭辞は、メッシュ ネットワーク内でルーターまたはメイン Wifi ポイントにのみ関連付けられます。Wifi 拡張ポイントは SLAAC を使用して独自のアドレスを作成します。
ISP が利用可能な接頭辞を提供すると、Google Nest Wifi と Google Wifi は LAN 上のクライアントに対して IPv6 ルート アドバタイズの送信を開始し、クライアントは SLAAC 手順により、自身の IPv6 アドレスを取得して検証できるようになります。
IPv6使用時のポート開放
IPv4 ネットワークでのポート転送には NAT を使用します。
IPv6 ネットワークでは、ポート転送に NAT を使用しません。DHCP IP 予約(静的 IP 予約)は IPv6 アドレスでは使用されず、IPv4 接続でも不要です。ポート転送やポート開放の設定方法についてご確認ください。
NURO光はデュアルスタックなので使えるはずだと思ったら、RFC6016で定義されたRAをNUROが対応していない(?)ので使えないらしい NURO 光では、ONU に対して ISP から /56 のプレフィックスが付与されています。IPv6 の本来の仕様ではRAやDHCPv6-PDを用いることによって、/56 のプレフィックスから /60 や /64 のサブネットを作ることができるのですが、今回提供されている ONU (ZTE 社製の F660A) では少し工夫をしなければなりません。
というのも F660A の RA や DHCPv6-PD では直下に接続されたホストに対して /64 のアドレスしか 払い出すことができない仕様になっているようです。ER-X を F660Aにそのままつなげたとしても、56 bit から 64 bitの間の 8 bit 以下のサブネットを構成することができないということです。
最終的に回線速度に優れるv6プラスの利用を優先し、「Google WiFi」ルータのWANポートはひかり電話用ルータのLANポートに接続し、二重NATで利用する事としました。
2018/5
Google WiFiがIPv6を使えるためには64ビット未満のプレフィックスを貰う必要があり、IIJmioはひかり電話の契約なしだと64ビットのプレフィックスになることがわかりました。
so-net(フレッツ回線)
ひかり電話ルータを初期設定で使っている我が家では特に何もせずともv6アドレスが降って来ました。
ISPとは書かれているわけですが、うちは、そもそもauひかりのホームゲートウェイが一段目のルーターとして存在しているダブルNATな環境なので、ここでのISPに対応するのは、ホームゲートウェイになります。
DHCPv6を有効にしないといけないので、その設定を調整することになるのですが、うちのホームゲートウェイBL190HWでは、配布する情報で、設定4 「RA:プレフィックス配布 DHCPv6: プレフィックス/IPv6アドレス配布」を選択しないと、Google Wifi側がIPv6機能をONにしてくれないようでした。
筆者はIIJmioの「FiberAccess/NF」を契約したが、本サービスでは、DS-Liteによる接続に加えて、PPPoEによる接続も可能となっており、そのためのアカウントが契約時に発行される。